<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class export_excel extends CI_Controller {

    public function __construct() {
        parent::__construct();
        if (!$this->session->userdata('username')) {
            redirect('login');
        }
        $this->load->model('mkaryawan');
        $this->load->library('Excel_generator');
    }

    public function index($page = '') {
        if (!$this->muser->has_access_to('cdokumen/index/')) {
            redirect('home');
            return;
        }
    }
    public function cetak_excel() {

		$id_cabang = '0'.$this->uri->segment(3);
		$id_customer = '0'.$this->uri->segment(4);
		$id_provinsi = '0'.$this->uri->segment(5);
		if($this->session->userdata('role') == 1 || $this->session->userdata('role') == 3 || $this->session->userdata('role') == 5)
        	$query = $this->mkaryawan->getdatakaryawanfilter_nores($id_cabang, $id_customer, $id_provinsi);
        else
        	$query = $this->mkaryawan->getdatakaryawanfilter_nores_user($id_cabang, $id_customer, $id_provinsi, $this->session->userdata('username'));        
        $this->excel_generator->set_query($query);

        $arraycolumn = array(
			'nama_customer',
			'nik_customer',
			'nik_sjs',
			'nama_kar',
			'jabatan',
			'departement',
			'nama_kota',
			'status_kar',
			'joint_awal',
			'joint_akhir',
			'total_cuti',
			'cuti_dipakai',
			'sisa_cuti',
			'bank',
			'no_rekening',
			'nama_rek',
			'jenis_kelamin',
			'tempat_lahir',
			'tanggal_lahir',
			'agama',
			'alamat_ktp',
			'rt',
			'rw',
			'kode_pos',
			'kecamatan',
			'desa',
			'kabupaten',
			'alamat_tinggal',
			'rt_tinggal',
			'rw_tinggal',
			'kode_pos_tinggal',
			'kecamatan_tinggal',
			'desa_tinggal',
			'kabupaten_tinggal',
			'tel_rumah',
			'tel_hp',
			'tel_hp2',
			'tel_keluarga',
			'hub_keluarga',
			'nama_keluarga',
			'pendidikan',
			'nama_sekolah',
			'jurusan',
			'jenis_identitas',
			'no_identitas',
			'no_npwp',
			'bpjs',
			'no_jamsostek',
			'ppk_jamsostek',
			'no_jaminan',
			'no_bpkb',
			'penyimpanan_jaminan',
			'nama_ibu',
			'status_perkawinan',
			'no_kk',
			'nama_suami_istri',
			'no_ktp_nik_pasangan',
			'jenis_kelamin_si',
			'tempat_lahir_si',
			'tgl_lahir_si',
			'nama_anak1',
			'jenis_kelamin_anak1',
			'tempat_lahir_anak1',
			'tgl_lahir_anak1',
			'nama_anak2',
			'jenis_kelamin_anak2',
			'tempat_lahir_anak2',
			'tgl_lahir_anak2',
			'nama_anak3',
			'jenis_kelamin_anak3',
			'tempat_lahir_anak3',
			'tgl_lahir_anak3',
			'nama_anak4',
			'jenis_kelamin_anak4',
			'tempat_lahir_anak4',
			'tgl_lahir_anak4',
			'no_pkwt1',
			'awal_kontrak_pkwt1',
			'akhir_kontrak_pkwt1',
			'lama_kontrak1',
			'no_pkwt2',
			'awal_kontrak_pkwt2',
			'akhir_kontrak_pkwt2',
			'lama_kontrak2',
			'no_pkwt3',
			'awal_kontrak_pkwt3',
			'akhir_kontrak_pkwt3',
			'lama_kontrak3',
			'tanggal_sp1',
			'alasan_sp1',
			'tanggal_sp2',
			'alasan_sp2',
			'tanggal_sp3',
			'alasan_sp3',
			'status_phk',
			'mutasi_dari',
			'mutasi_ke',
			'tanggal_mutasi',
			'no_id_card',
			'tanggal_berhenti',
			'alasan_berhenti',
			'keterangan',
			'gaji_pokok',
			'allowance',
			'uang_kehadiran',
			'overtime',
			'tunjangan_jabatan',
			'tunjangan_transport',
			'tunjangan_makan',
			'tunjangan_pulsa',
			'tunjangan_shift',
			'komisi',
			'incentive',
			'bonus',
			'adjustment',
			'lain'
		);
        $arrayheadercolumn = array(
			'Customer',
			'NIK Customer',
			'NIK SJS',
			'Nama Karyawan',
			'Jabatan',
			'Departemen',
			'Cabang',
			'Status Karyawan',
			'Tanggal Join',
			'Tanggal Berhenti',
			'Total Cuti',
			'Cuti Dipakai',
			'Sisa Cuti',
			'Nama Bank',
			'Nomor Rekening',
			'Nama Rekening',
			'Jenis Kelamin',
			'Tempat Lahir',
			'Tanggal Lahir',
			'Agama',
			'Alamat Sesuai KTP',
			'RT',
			'RW',
			'Kode Pos',
			'Kecamatan',
			'Desa',
			'Kabupaten / Kota',
			'Alamat Tempat Tinggal',
			'RT',
			'RW',
			'Kode Pos',
			'Kecamatan',
			'Desa',
			'Kabupaten',
			'Telepon Rumah',
			'Ponsel',
			'Ponsel 2',
			'Telp. Keluarga Lain',
			'Hubungan Keluarga',
			'Nama Keluarga Lain',
			'Pendidikan',
			'Nama Instansi Pendidikan',
			'Jurusan',
			'Jenis Identitas',
			'Nomor Identitas',
			'Nomor NPWP',
			'Nomor BPJS Kesehatan',
			'Nomor BPJS Ketenagakerjaan',
			'Faskes I BPJS Kesehatan',
			'Nomor Ijazah',
			'Nomor BPKB',
			'Tempat Penyimpanan',
			'Nama Ibu Kandung',
			'Status Perkawinan',
			'Nomor KK',
			'Nama Pasangan',
			'Nomor NIK / KTP Pasangan',
			'Jenis Kelamin Pasangan',
			'Tempat Lahir Pasangan',
			'Tanggal Lahir Pasangan',
			'Nama Anak 1',
			'Jenis Kelamin Anak 1',
			'Tempat Lahir Anak 1',
			'Tanggal Lahir Anak 1',
			'Nama Anak 2',
			'Jenis Kelamin Anak 2',
			'Tempat Lahir Anak 2',
			'Tanggal Lahir Anak 2',
			'Nama Anak 3',
			'Jenis Kelamin Anak 3',
			'Tempat Lahir Anak 3',
			'Tanggal Lahir Anak 3',
			'Nama Anak 4',
			'Jenis Kelamin Anak 4',
			'Tempat Lahir Anak 4',
			'Tanggal Lahir Anak 4',
			'Nomor PKWT',
			'Tanggal Awal Kontrak',
			'Tanggal Akhir Kontrak',
			'Lama Kontrak',
			'Nomor PKWT 2',
			'Tanggal Awal Kontrak 2',
			'Tanggal Akhir Kontrak 2',
			'Lama Kontrak 2',
			'Nomor PKWT 3',
			'Tanggal Awal Kontrak 3',
			'Tanggal Akhir Kontrak 3',
			'Lama Kontrak 3',
			'Tanggal SP 1',
			'Alasan SP 1',
			'Tanggal SP 2',
			'Alasan SP 2',
			'Tanggal SP 3',
			'Alasan SP 3',
			'Status PHK',
			'Mutasi Dari',
			'Mutasi Ke',
			'Tanggal Mutasi',
			'Nomor ID Card',
			'Tanggal Berhenti',
			'Alasan Berhenti',
			'Keterangan',
			'Gaji Pokok',
			'Allowance',
			'Uang Kehadiran',
			'Overtime',
			'Tunjangan Jabatan',
			'Tunjangan Transport',
			'Tunjangan Makan',
			'Tunjangan Pulsa',
			'Tunjangan Shift',
			'Komisi',
			'Incentive',
			'Bonus',
			'Adjustment',
			'Lain'
		);
		//$this->excel_generator->set_column(array('id', 'customer', 'nik_sjs', 'nama_kar', 'jabatan'));
        $this->excel_generator->set_header($arrayheadercolumn);
		$this->excel_generator->set_column($arraycolumn);
        $this->excel_generator->set_width(array(
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,25,25
        ));
        $this->excel_generator->exportTo2007('Data Karyawan');
    }

    public function cetak_excel_resign() {

		$id_cabang = '0'.$this->uri->segment(3);
		$id_customer = '0'.$this->uri->segment(4);
		$id_provinsi = '0'.$this->uri->segment(5);
		if($this->session->userdata('role') == 1 || $this->session->userdata('role') == 3 || $this->session->userdata('role') == 5)
	        $query = $this->mkaryawan->getdatakaryawanresignfilter_nores($id_cabang, $id_customer, $id_provinsi);
    	else
	        $query = $this->mkaryawan->getdatakaryawanresignfilter_nores_user($id_cabang, $id_customer, $id_provinsi, $this->session->userdata('username'));
        $this->excel_generator->set_query($query);

        $arraycolumn = array(
			'nama_customer',
			'nik_customer',
			'nik_sjs',
			'nama_kar',
			'jabatan',
			'departement',
			'nama_kota',
			'status_kar',
			'joint_awal',
			'joint_akhir',
			'total_cuti',
			'cuti_dipakai',
			'sisa_cuti',
			'bank',
			'no_rekening',
			'nama_rek',
			'jenis_kelamin',
			'tempat_lahir',
			'tanggal_lahir',
			'agama',
			'alamat_ktp',
			'rt',
			'rw',
			'kode_pos',
			'kecamatan',
			'desa',
			'kabupaten',
			'alamat_tinggal',
			'rt_tinggal',
			'rw_tinggal',
			'kode_pos_tinggal',
			'kecamatan_tinggal',
			'desa_tinggal',
			'kabupaten_tinggal',
			'tel_rumah',
			'tel_hp',
			'tel_hp2',
			'tel_keluarga',
			'hub_keluarga',
			'nama_keluarga',
			'pendidikan',
			'nama_sekolah',
			'jurusan',
			'jenis_identitas',
			'no_identitas',
			'no_npwp',
			'bpjs',
			'no_jamsostek',
			'ppk_jamsostek',
			'no_jaminan',
			'no_bpkb',
			'penyimpanan_jaminan',
			'nama_ibu',
			'status_perkawinan',
			'no_kk',
			'nama_suami_istri',
			'no_ktp_nik_pasangan',
			'jenis_kelamin_si',
			'tempat_lahir_si',
			'tgl_lahir_si',
			'nama_anak1',
			'jenis_kelamin_anak1',
			'tempat_lahir_anak1',
			'tgl_lahir_anak1',
			'nama_anak2',
			'jenis_kelamin_anak2',
			'tempat_lahir_anak2',
			'tgl_lahir_anak2',
			'nama_anak3',
			'jenis_kelamin_anak3',
			'tempat_lahir_anak3',
			'tgl_lahir_anak3',
			'nama_anak4',
			'jenis_kelamin_anak4',
			'tempat_lahir_anak4',
			'tgl_lahir_anak4',
			'no_pkwt1',
			'awal_kontrak_pkwt1',
			'akhir_kontrak_pkwt1',
			'lama_kontrak1',
			'no_pkwt2',
			'awal_kontrak_pkwt2',
			'akhir_kontrak_pkwt2',
			'lama_kontrak2',
			'no_pkwt3',
			'awal_kontrak_pkwt3',
			'akhir_kontrak_pkwt3',
			'lama_kontrak3',
			'tanggal_sp1',
			'alasan_sp1',
			'tanggal_sp2',
			'alasan_sp2',
			'tanggal_sp3',
			'alasan_sp3',
			'status_phk',
			'mutasi_dari',
			'mutasi_ke',
			'tanggal_mutasi',
			'no_id_card',
			'tanggal_berhenti',
			'alasan_berhenti',
			'keterangan',
			'gaji_pokok',
			'allowance',
			'uang_kehadiran',
			'overtime',
			'tunjangan_jabatan',
			'tunjangan_transport',
			'tunjangan_makan',
			'tunjangan_pulsa',
			'tunjangan_shift',
			'komisi',
			'incentive',
			'bonus',
			'adjustment',
			'lain'
		);
        $arrayheadercolumn = array(
			'Customer',
			'NIK Customer',
			'NIK SJS',
			'Nama Karyawan',
			'Jabatan',
			'Departemen',
			'Cabang',
			'Status Karyawan',
			'Tanggal Join',
			'Tanggal Berhenti',
			'Total Cuti',
			'Cuti Dipakai',
			'Sisa Cuti',
			'Nama Bank',
			'Nomor Rekening',
			'Nama Rekening',
			'Jenis Kelamin',
			'Tempat Lahir',
			'Tanggal Lahir',
			'Agama',
			'Alamat Sesuai KTP',
			'RT',
			'RW',
			'Kode Pos',
			'Kecamatan',
			'Desa',
			'Kabupaten / Kota',
			'Alamat Tempat Tinggal',
			'RT',
			'RW',
			'Kode Pos',
			'Kecamatan',
			'Desa',
			'Kabupaten',
			'Telepon Rumah',
			'Ponsel',
			'Ponsel 2',
			'Telp. Keluarga Lain',
			'Hubungan Keluarga',
			'Nama Keluarga Lain',
			'Pendidikan',
			'Nama Instansi Pendidikan',
			'Jurusan',
			'Jenis Identitas',
			'Nomor Identitas',
			'Nomor NPWP',
			'Nomor BPJS Kesehatan',
			'Nomor BPJS Ketenagakerjaan',
			'Faskes I BPJS Kesehatan',
			'Nomor Ijazah',
			'Nomor BPKB',
			'Tempat Penyimpanan',
			'Nama Ibu Kandung',
			'Status Perkawinan',
			'Nomor KK',
			'Nama Pasangan',
			'Nomor NIK / KTP Pasangan',
			'Jenis Kelamin Pasangan',
			'Tempat Lahir Pasangan',
			'Tanggal Lahir Pasangan',
			'Nama Anak 1',
			'Jenis Kelamin Anak 1',
			'Tempat Lahir Anak 1',
			'Tanggal Lahir Anak 1',
			'Nama Anak 2',
			'Jenis Kelamin Anak 2',
			'Tempat Lahir Anak 2',
			'Tanggal Lahir Anak 2',
			'Nama Anak 3',
			'Jenis Kelamin Anak 3',
			'Tempat Lahir Anak 3',
			'Tanggal Lahir Anak 3',
			'Nama Anak 4',
			'Jenis Kelamin Anak 4',
			'Tempat Lahir Anak 4',
			'Tanggal Lahir Anak 4',
			'Nomor PKWT',
			'Tanggal Awal Kontrak',
			'Tanggal Akhir Kontrak',
			'Lama Kontrak',
			'Nomor PKWT 2',
			'Tanggal Awal Kontrak 2',
			'Tanggal Akhir Kontrak 2',
			'Lama Kontrak 2',
			'Nomor PKWT 3',
			'Tanggal Awal Kontrak 3',
			'Tanggal Akhir Kontrak 3',
			'Lama Kontrak 3',
			'Tanggal SP 1',
			'Alasan SP 1',
			'Tanggal SP 2',
			'Alasan SP 2',
			'Tanggal SP 3',
			'Alasan SP 3',
			'Status PHK',
			'Mutasi Dari',
			'Mutasi Ke',
			'Tanggal Mutasi',
			'Nomor ID Card',
			'Tanggal Berhenti',
			'Alasan Berhenti',
			'Keterangan',
			'Gaji Pokok',
			'Allowance',
			'Uang Kehadiran',
			'Overtime',
			'Tunjangan Jabatan',
			'Tunjangan Transport',
			'Tunjangan Makan',
			'Tunjangan Pulsa',
			'Tunjangan Shift',
			'Komisi',
			'Incentive',
			'Bonus',
			'Adjustment',
			'Lain'
		);
		//$this->excel_generator->set_column(array('id', 'customer', 'nik_sjs', 'nama_kar', 'jabatan'));
        $this->excel_generator->set_header($arrayheadercolumn);
		$this->excel_generator->set_column($arraycolumn);
        $this->excel_generator->set_width(array(
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,25,25
        ));
        $this->excel_generator->exportTo2007('Data Karyawan');
    }
    
    public function cetak_excel_client() {

		$id_cabang = $this->uri->segment(3);
		$id_customer = $this->uri->segment(4);
		$id_provinsi = '0'.$this->uri->segment(5);
		if($this->session->userdata('role') == 1 || $this->session->userdata('role') == 3 || $this->session->userdata('role') == 5)
	        $query = $this->mkaryawan->getdatakaryawanfilter_nores($id_cabang, $id_customer, $id_provinsi);
		else
	        $query = $this->mkaryawan->getdatakaryawanfilter_nores_user($id_cabang, $id_customer, $this->session->userdata('username'));
        $this->excel_generator->set_query($query);

        $arraycolumn = array(
			'nama_customer',
			'nama_kar',
			'jabatan',
			'departement',
			'nama_kota',
			'status_kar',
			'joint_awal',
			'joint_akhir',
			'total_cuti',
			'cuti_dipakai',
			'sisa_cuti',
			'jenis_kelamin',
			'tempat_lahir',
			'tanggal_lahir',
			'agama',
			'alamat_ktp',
			'rt',
			'rw',
			'kode_pos',
			'kecamatan',
			'desa',
			'kabupaten',
			'alamat_tinggal',
			'rt_tinggal',
			'rw_tinggal',
			'kode_pos_tinggal',
			'kecamatan_tinggal',
			'desa_tinggal',
			'kabupaten_tinggal',
			'pendidikan',
			'nama_sekolah',
			'jurusan',
			'status_perkawinan',
			'tanggal_sp1',
			'alasan_sp1',
			'tanggal_sp2',
			'alasan_sp2',
			'tanggal_sp3',
			'alasan_sp3',
			'status_phk',
		);
        $arrayheadercolumn = array(
			'Customer',
			'Nama Karyawan',
			'Jabatan',
			'Departemen',
			'Cabang',
			'Status Karyawan',
			'Tanggal Join',
			'Tanggal Berhenti',
			'Total Cuti',
			'Cuti Dipakai',
			'Sisa Cuti',
			'Jenis Kelamin',
			'Tempat Lahir',
			'Tanggal Lahir',
			'Agama',
			'Alamat Sesuai KTP',
			'RT',
			'RW',
			'Kode Pos',
			'Kecamatan',
			'Desa',
			'Kabupaten / Kota',
			'Alamat Tempat Tinggal',
			'RT',
			'RW',
			'Kode Pos',
			'Kecamatan',
			'Desa',
			'Kabupaten',
			'Pendidikan',
			'Nama Instansi Pendidikan',
			'Jurusan',
			'Status Perkawinan',
			'Tanggal SP 1',
			'Alasan SP 1',
			'Tanggal SP 2',
			'Alasan SP 2',
			'Tanggal SP 3',
			'Alasan SP 3',
			'Status PHK',
		);
		//$this->excel_generator->set_column(array('id', 'customer', 'nik_sjs', 'nama_kar', 'jabatan'));
        $this->excel_generator->set_header($arrayheadercolumn);
		$this->excel_generator->set_column($arraycolumn);
        $this->excel_generator->set_width(array(
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
        	25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,

        ));
        $this->excel_generator->exportTo2007('Data Karyawan');
    }
    
	/*
    public function detildokumen() {
        $html['combo_penanggung_jawab'] = $this->mprosedur->get_combo1('tr_role', '');
        $html['title'] = $this->mutil->get_menu_name('cdokumen/index/');
        $html['subtitle'] = "Detil Dokumen";
        $this->load->view('vdokumen_detil', $html);
    }

    public function cari() { // AJAX
        if (!$this->muser->has_access_to('cdokumen/cari/'))
            die('Unauthorized access');
        $html['has_access'] = $this->muser->has_access_to('cdokumen/add/');
        $nama = $this->input->post('nama'); //id prosedur
        $parameter = $this->input->post('parameter'); //id prosedur
        $html['subtitle'] = $this->mutil->get_menu_name('cdokumen/cari/');
        $html['data'] = $this->mjenis_dokumen->get_proses_filter($nama, $parameter);
        $html['nama'] = $this->input->post('nama');
        $html['parameter'] = $this->input->post('parameter');
        $html['has_edit_access'] = $this->muser->has_access_to('cdokumen/add/', 'cdokumen/cari/');
        $html['link'] = '/cprosedur/addedit/';
        $html['title'] = $this->mutil->get_menu_name('cdokumen/index/');
        $html['subtitle'] = $this->mutil->get_menu_name('cdokumen/cari/');
        $this->load->view('vdokumen_filter', $html);
    }
	*/

}
